<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>数组的增删改查</title>
	</head>
	<body>

	</body>
	<script>
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// 1、unshift()      数组名.unshift('')
		// 头部增加  （可以增加多个）       
		// 返回值：新数组的新长度
		// var a = arr.unshift('朱转鹏','王存')
		// console.log(a);   //8
		// console.log(arr);
		// 2、push()    数组名.push('')
		// 尾部增加  （可以增加多个）
		// 返回值：新数组的新长度
		// var a = arr.push('朱转鹏','王存');
		// console.log(a);
		// console.log(arr);
		// 3、shift()    数组名.shift()
		// 头部删除     只能删除头部第一项
		// 返回值：被删除的哪一项
		// var a = arr.shift();
		// console.log(a);
		// console.log(arr);
		// 4、pop()   数组名.pop()
		// 尾部删除   只能尾部的最后一个  （）内为空
		// 返回值：被删除的哪一项
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var a = arr.pop();
		// console.log(a);
		// console.log(arr);
		// 5、concat     数组名.concat()
		// 拼接，合并    ()里可以是任意个，也可以是任意类型
		// 返回值：一个新的合并后的数组
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];   
		// var arr1 = ['王存','阿斌'];
		// var  newArry = arr.concat(arr1,'123',123,true);
		// console.log(newArry);
		// 6、slice()    数组名.slice(start,end) 
		// 截取      ()里是数组的下标，包括开头，不包括结尾
			// 1）没有参数，截取全部
			// 2) 一个参数，代表从指定位置截取到最后
			// 3) 两个参数，包括开头，不包括结尾
			// 4) 参数可以为负数，从后往前数，最后一个的值是-1 ，   第二个参数比第一个参数大
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var arr1 = arr.slice();
		// console.log(arr);
		// var arr2 = arr.slice(2);
		// console.log(arr2);
		// var arr3 = arr.slice(1,4);
		// console.log(arr3);
		// var arr4 = arr.slice(-3,-1);
		// console.log(arr4);
		// 7、splice    数组名.splice(参数1，参数2，参数3) 
		 // 操作数组
			// 参数1：操作开始位置
			// 参数2：删除的成员个数（如果参数写0 ，代表的是添加）
			// 参数3：添加的成员
		// 返回值：被删除的成员组成的数组
		// 如果只有一个参数,就会删除从参数之后所有的元素
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var a = arr.splice(1,4);
		// console.log(a);
		// var a = arr.splice(2,0,'王存');
		// console.log(arr);
		// var a = arr.splice(2);
		// console.log(a);
		// console.log(arr);
		// 8、indexOf()    数组名.indexOf('数组元素')
		// 查找
		// 返回值：下标
		// 如果查找的元素在数组里不存在，那么会返回-1
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var a = arr.indexOf('张波');
		// console.log(a);
		// var a = arr.indexOf('王存');
		// console.log(a);
		// 9、join   数组名.join('连接符')
		// 转字符转
		// 返回值：
		// （）里可以西而需要拼接的元素
		// （）里不写内容，自动用逗号隔开
		// ()里写需要添加的符号
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var str = arr.join();
		// console.log(str);
		// var str = arr.join("+");
		// console.log(str);
		// var str = arr.join("♥");
		// console.log(str);
		// var str = arr.join("⭐");
		// console.log(str);
		// 10、reverse     数组名.reverse()
		// 数组倒叙     ()里不写参数
		// 返回值：倒叙的原数组
		// var arr = ['王杰','张波','卢辉','前程','紫璇','刘成毅'];    //6
		// var arrnewArr = arr.reverse();
		// console.log(arrnewArr);
		// console.log(arr === arrnewArr);
		// 11、sort()    数组名.sort(函数)
		// 排序     升序或者降序
		// var arr = [12,37,0,34,65];
		// arr.sort(function(a,b){
		// 	return a-b       //升序
		// })
		// console.log(arr);
		
		// arr.sort(function(a,b){
		// 	return b-a       //降序
		// })
		// console.log(arr);
		
		
		
		var arry = [12,45,0,34,0,67,0,3]
		// 1、将数组转化为分隔字符串,用 | 符号分隔。
		// 2、去掉数组中重复的0
		// 3、去掉0，形成一个不包含0的新数组	
		var str = arry.join('|')
		console.log(str);
		
		for(var i=0; i<arry.length;i++){
			for(var j=i+1;j<=arry.lengt78h; j++){
				if(arry[i] == arry[j]){
					arry.splice(j,1);    //要删除的的位置和要删除的项数
					j--;     //   已经把重复的元素删掉了，删除后会形成一个新的数组，会跳过原来的元素，少一个元素
				}
			}
		}
		console.log(arry)
		
		var newArr = [];
		for(var i = 0; i < arry.length; i++){	
			if(arry[i] != 0){
				newArr[newArr.length] = arry[i];
			}
		}
		console.log(newArr);
		
		
		
	</script>
</html>
